//package com.example.demo.utils;
//
//import cn.hutool.core.date.DateUnit;
//import cn.hutool.core.date.DateUtil;
//import cn.hutool.http.HttpUtil;
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONObject;
//import com.fasterxml.jackson.databind.ObjectMapper;
//import org.springframework.http.converter.StringHttpMessageConverter;
//import org.springframework.web.client.RestTemplate;
//
//import java.nio.charset.Charset;
//import java.util.Date;
//import java.util.HashMap;
//
//public class PushMessWechatAppUtil {
//    /**
//     * 微信小程序APP ID
//     */
//    static String WECHAT_MINI_APP_APP_ID = "";
//
//    /**
//     * 微信小程序APP SECRET
//     */
//    static String WECHAT_MINI_APP_APP_SECRET = "";
//
//    /**
//     * 微信AccessToken过期时间
//     */
//    Integer WECHAT_ACCESS_TOKEN_EXPIRE_SECOND = 7000;
//
//    /**
//     * 微信AccessToken
//     */
//    static String wechatAccessToken;
//
//    /**
//     * 微信AccessToken生成时间
//     */
//    static Date wechatAccessTokenRequestTime = new Date();
//
//    /**
//     * @return 获取AccessToken
//     */
//    public String getAccessToken() {
//        //初始化情况
//        Date currentData = new Date();
//        //比较时间大小
//        long betweenSeconds = DateUtil.between(wechatAccessTokenRequestTime, currentData, DateUnit.SECOND);
//
//        if (wechatAccessToken == null || betweenSeconds > WECHAT_ACCESS_TOKEN_EXPIRE_SECOND) {
//            //更新AccessToken
//            updateAccessToken();
//            //更新获取时间
//            wechatAccessTokenRequestTime = new Date();
//        }
//
//        return wechatAccessToken;
//    }
//
//    /**
//     * 更新AccessToken
//     */
//    private void updateAccessToken() {
//        com.alibaba.fastjson.JSONObject jsonObject = new JSONObject();
//        try {
//            String result = HttpUtil.get("https://api.weixin.qq.com/cgi-bin/token" +
//                    "?grant_type=client_credential" +
//                    "&appid=" + WECHAT_MINI_APP_APP_ID
//                    + "&secret=" + WECHAT_MINI_APP_APP_SECRET);
//
//            jsonObject = JSON.parseObject(result);
//            wechatAccessToken = jsonObject.getString("access_token");
//        } catch (Exception exception) {
//            exception.printStackTrace();
//        }
//    }
//    public static HashMap<String,Object> formatParam(String value){
//        HashMap<String,Object> data = new HashMap<>();
//        data.put("value",value);
//        return data;
//    }
//
//    public static RestTemplate getInstance(String charset) {
//        RestTemplate restTemplate = new RestTemplate();
//        restTemplate.getMessageConverters().add(new StringHttpMessageConverter(Charset.forName(charset)));
//        return restTemplate;
//    }
//    public static ObjectMapper objectMapperInstance(){
//        return new ObjectMapper();
//    }
//}
